﻿using BLL;
using DTO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BONGDA
{
    public partial class frmAddTours : Form
    {
        public int maSan;
        public string tenSan = "";
        public string diaDiem = "";
        public string sucChua = "";
        public string namXay = "";
        public Image tours = null;

        public frmAddTours()
        {
            InitializeComponent();
        }
        
        private void picTour_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.Filter = "JPG Files(*.JPG)|*.JPG|GIF Files(*.GIF)|*.GIF|PNG Files(*.PNG)|*.PNG";
            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                picTour.Image = Image.FromFile(dlg.FileName);
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (SanVanDong_BLL.SelectByTen(this.txtTen.Text.ToString()).Rows.Count != 0)
            {
                MessageBox.Show("Tên SÂN VẬN ĐỘNG này đã tồn tại!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            if (this.txtTen.Text.ToString() == "" || this.txtDiaDiem.Text.ToString() == "")
            {
                MessageBox.Show("Điền đầy đủ tất cả các trường!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            SanVanDong_DTO dto = new SanVanDong_DTO();
            dto.TenSan = this.txtTen.Text.ToString();
            dto.DiaDiem = this.txtDiaDiem.Text.ToString();
            try
            {
                dto.NamXay = Convert.ToInt32(this.txtNamXay.Text.ToString());
                dto.SucChua = Convert.ToInt32(this.txtSucChua.Text.ToString());
            }
            catch (Exception)
            {
                MessageBox.Show("\"Năm xây\" hoặc \"Sức chứa\" chưa đúng!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            if (picTour.Image != null)
            {
                dto.ByteTours = ConvertImageToBytes(picTour.Image);
            }
            else
            {
                MessageBox.Show("Chọn HÌNH ẢNH cho sân vận động!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            SanVanDong_BLL.Insert(dto);
            MessageBox.Show("Thêm thành công!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            DataTable tablesantam = SanVanDong_BLL.SelectByTen(dto.TenSan);
            maSan = Convert.ToInt32(tablesantam.Rows[0]["MaSan"]);
            tenSan = dto.TenSan;
            diaDiem = dto.DiaDiem;
            sucChua = dto.SucChua.ToString();
            namXay = dto.NamXay.ToString();

            Image FetchedImg;
            MemoryStream stream = new MemoryStream(dto.ByteTours);
            FetchedImg = Image.FromStream(stream);
            tours = FetchedImg;

            this.Close();
        }
        private byte[] ConvertImageToBytes(Image InputImage)
        {
            Bitmap BmpImage = new Bitmap(InputImage);
            MemoryStream Mystream = new MemoryStream();
            BmpImage.Save(Mystream, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] ImageAsBytes = Mystream.ToArray();
            return ImageAsBytes;
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }        

        private void frmAddTours_Load(object sender, EventArgs e)
        {

        }
    }
}
